Dart / Flutter :正在等待循环完成,然后再继续...(异步等待?)

您所在的位置:网站首页 flutter await 循环 Dart / Flutter :正在等待循环完成,然后再继续...(异步等待?)

Dart / Flutter :正在等待循环完成,然后再继续...(异步等待?)

2023-08-29 18:33| 来源: 网络整理| 查看: 265

我有一个从一个大的(非常大的列表)创建一个子列表的函数。在创建这个列表之后,函数继续处理它(删除重复项,排序...)。

只要列表不是太大,它就工作得很好。但是现在,我得到了“Getter length I on null”。我想,这是因为函数的第二部分(在循环之后)在子列表完成之前开始…所以它不工作..。

我们如何强制函数等待循环结束以继续其余的处理?是使用异步/Await吗?或者我们可以这样做:“虽然……有些事情还没有结束……”,或者“一旦事情做完了……就去做”?(我的建议可能很天真,但我还是个初学者……)

代码如下:

List themeBankFr() { List themeBankFr = []; for (Word word in wordBank) { for (Thematique wordTheme in word.theme) { themeBankFr.add({ 'themeFr': wordTheme.themeFr, 'image': wordTheme.image, }); } } // convert each item to a string by using JSON encoding final jsonList = themeBankFr.map((item) => jsonEncode(item)).toList(); // using toSet - toList strategy final uniqueJsonList = jsonList.toSet().toList(); // convert each item back to the original form using JSON decoding final result = uniqueJsonList.map((item) => jsonDecode(item)).toList(); // sort the list of map in alphabetical order result.sort((m1, m2) { var r = m1['themeFr'].compareTo(m2['themeFr']); if (r != 0) return r; return m1['image'].compareTo(m2['image']); }); return result; }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3